/*
496. 下一个更大元素 I
https://leetcode.cn/problems/next-greater-element-i/description/
简单 2024/12/04
*/

class Solution {
public:
    vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {
vector<int>arr(nums1.size(),-1);
stack<int>st;
st.push(0);
unordered_map<int,int>mp;
for(int i=0;i<nums1.size();i++)
{
    mp[nums1[i]]=i;
}
for(int i=0;i<nums2.size();i++)
{
    while(!st.empty()&&nums2[st.top()]<nums2[i])
    {
        if(mp.count(nums2[st.top()])>0)
        {
            int x=mp[nums2[st.top()]];
            arr[x]=nums2[i];
        }
        st.pop();
    }
    st.push(i);
}
return arr;
    }
};